﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Com.ContentRendering.Api.ParserEngine;
using Com.ContentRendering.Api.LoaderEngine;

namespace ContentRenderingApi.Configuration
{
    /// <summary/>
    public class PreprocessingSeparatorsConfiguration : PreprocessingSeparatorsInterface, ICloneable
    {
        private string _importStart;
        private string _importEnd;
        private string _getSetConstantStart;
        private string _getSetConstantEnd;
        private string _getSetConstantCenter;
        private string _getSetFlagStart;
        private string _getSetFlagEnd;
        private string _getSetFlagCenter;

        /// <summary/>
        internal PreprocessingSeparatorsConfiguration() {}
        
        /// <summary/>
        public string ImportStart
        {
            get { return _importStart; }
            set { _importStart = value; }
        }

        /// <summary/>
        public string ImportEnd
        {
            get { return _importEnd; }
            set { _importEnd = value; }
        }

        /// <summary/>
        public string GetSetConstantStart
        {
            get { return _getSetConstantStart; }
            set { _getSetConstantStart = value; }
        }

        /// <summary/>
        public string GetSetConstantEnd
        {
            get { return _getSetConstantEnd; }
            set { _getSetConstantEnd = value; }
        }

        /// <summary/>
        public string GetSetConstantCenter
        {
            get { return _getSetConstantCenter; }
            set { _getSetConstantCenter = value; }
        }

        /// <summary/>
        public string GetSetFlagStart
        {
            get { return _getSetFlagStart; }
            set { _getSetFlagStart = value; }
        }

        /// <summary/>
        public string GetSetFlagEnd
        {
            get { return _getSetFlagEnd; }
            set { _getSetFlagEnd = value; }
        }

        /// <summary/>
        public string GetSetFlagCenter
        {
            get { return _getSetFlagCenter; }
            set { _getSetFlagCenter = value; }
        }
        
        /// <summary/>
        public object Clone()
        {
            return this.MemberwiseClone();
        }
    }
}
